﻿/***************************
* Classe ControleurActions *
***************************/

package utils.appli {
	
	import utils.appli.ModelePlateau;
	import utils.appli.Cheval;
	import utils.appli.De;
	//import flashx.textLayout.elements.InlineGraphicElement;
	
	public class ControleurActions /*implements IControleur*/ {
		
		/************************
		*propriétés d'occurrence*
		************************/
		
		//la triade mvc
	
		private var _modelePlateau:ModelePlateau;
		private var _de:De;
		//private var _vueDe:VueDe;
		//private var _vueGenerale:VueGenerale;
		//private var _de:De;
		private var _joueurActif:Joueur;
		
		/*************	
		*constructeur*
		*************/
		
		//pvue : référence sur la vue du mvc
		public function ControleurActions(/*pvue:VueGenerale*/) {
			//this._vuePlateau = pvue;
			this._modelePlateau = ModelePlateau.getInstance();
			this._de = new De();
			//this._joueurActif = ModelePlateau.get joueur(0);
		}
		
		/*****************************
		*méthodes d'instance publique*
		*****************************/
		
		public function actionApresLanceDe():void{
			var valeurDe:int = this._de.lancerDe();
		}
		
		public function sortirChevalDuPaddock(aIdCheval:int){
			/*if (this._modelePlateau._parcoursArray[_joueurActif._numEntreeParcours] == null ){
				var chevalADeplacer:Cheval = this._joueurActif._ecurie.pop();
				this._modelePlateau.placeCheval(chevalADeplacer, _joueurActif._numEntreeParcours);
			}*/
		}
		
		public function deplacerCheval(aCheval:Cheval, nbAvancement:int){
			this._modelePlateau.removeCheval(aCheval);
			var numNvelleCase:int = this._modelePlateau._parcoursArray.indexOf(aCheval) + nbAvancement;
			this._modelePlateau.placeCheval(aCheval, numNvelleCase);
		}
		
		public function get de():De{
			return this._de;
		}
		
	}
}